#selenium 自动化web浏览器 练习2
import time
from selenium import webdriver
from selenium.webdriver.edge.service import Service
from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By
#创建一个设置好的webdriver对象
def new_web():
    # 创建option对象
    option = Options()
    # 保持浏览器打开状态(默认代码执行完毕浏览器关闭)
    option.add_experimental_option("detach", True)
    # 创建webdriver对象
    return webdriver.ChromiumEdge(service=Service('C:\CodeMake\Python\EdgeExtension\edgedriver_win64\msedgedriver.exe'), options=option)
browser = new_web()
#打开一个网页
browser.get("https://www.baidu.com/")
#浏览器最大化
browser.maximize_window()
#元素定位隐形等待 等网页加载完成在执行定位,()内写等待最大时间,一但网页加载完毕就会立刻执行
browser.implicitly_wait(5)
#定位一个元素 By有八种定位,这次选择id定位 找到返回结果,找不到报错
search = browser.find_element(By.ID,"kw")
commit = browser.find_element(By.ID,"su")
#元素输入
search.send_keys("格温")
time.sleep(1)
#元素点击
commit.click()
time.sleep(2)
#元素清空
search.clear()
#获取所有标签页句柄
taps = browser.window_handles
print(taps)
time.sleep(2)
#通过句柄切换标签页
browser.close()
browser.switch_to.window(taps[1])
time.sleep(2)
#获取当前标签页句柄
tap = browser.current_window_handle
print(tap)
#退出浏览器
browser.quit()
#点击弹窗确定按钮
#browser.switch_to.alert.accept()
#获取弹窗内容
# browser.switch_to.alert.text
#查看获取嵌套网页
#先获得iframe元素
#通过 browser.switch_to.iframe(iframe元素) 进入嵌套网页
#退出嵌套页面 browser.switch_to.default_content() 返回默认网页 从哪进入的嵌套网页返回到哪
#网页前进与后退
#browser.back() 后退 browser.forward() 前进
#打印页面标题
# browser.title
#打印当前页url
# browser.current_url